package com.netty.demo.server.schedule;

import com.netty.demo.server.service.FileService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.time.LocalDateTime;

/**
 * 定时任务
 *
 * @author Administrator 余秀良
 * @version 1.0
 * <p>date: 2019年09月17日  10:35 </p>
 * <p>address: 四川成都 </p>
 */
@Slf4j
@Component
@Async
public class ScheduledTask {
    @Resource
    private FileService service;
    /**
     * 定时文件扫描任务
     * 30 分钟 执行一次
     * cron表达式
     * zone 时区
     * fixedDelay 两次执行时间间隔(A任务结束时间-B任务开始时间)
     * fixedDelayString 两次执行时间间隔(A任务结束时间-B任务开始时间)
     * fixedRate  两次执行时间间隔(A任务开始时间-B任务开始时间)
     * fixedRateString 两次执行时间间隔(A任务开始时间-B任务开始时间)
     * initialDelay 第一次执行延迟时间，只是做延迟的设定，与fixedDelay关系密切，配合使用。
     * initialDelayString 第一次执行延迟时间，只是做延迟的设定，与fixedDelay关系密切，配合使用。
     *
     * @author 余秀良
     * @version 1.0
     * <p>  date: 2019 - 09 - 17  10:39    </p>
     * <p>  address: 四川成都  </p>
     */
    @Scheduled(cron = "0 */30 * * * ?")
    public void fileScanTask() {
        //service.fileScan();
        log.info("定时任务 : {},执行时间 : {}", "fileScanTask", LocalDateTime.now());
    }
}
